package NiuKe.JianZhiOffer;
import java.util.*;

/**
 * 描述
 * 输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于数组的后半部分，并保证奇数和奇数，偶数和偶数之间的相对位置不变。
 * 示例1
 * 输入：
 * [1,2,3,4]
 *
 * 返回值：
 * [1,3,2,4]
 *
 * 示例2
 * 输入：
 * [2,4,6,5,7]
 *
 * 返回值：
 * [5,7,2,4,6]
 */
public class JZ13 {
    public int[] reOrderArray (int[] array) {
        // write code here
        Stack<Integer> stack_left = new Stack<>();
        Stack<Integer> stack_right = new Stack<>();
        for(int i = array.length -1 ; i > -1 ;i--){
            if(array[i] % 2 == 0){
                stack_right.push(array[i]);
            }else{
                stack_left.push(array[i]);
            }
        }
        int i = 0;
        while(!stack_left.isEmpty()){
            array[i] = stack_left.pop();
            i++;
        }
        while(!stack_right.isEmpty()){
            array[i] = stack_right.pop();
            i++;
        }
        return array;

    }
}
